<!DOCTYPE HTML>

<html lang="pt-br"  
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">
	
<ui:composition template="/WEB-INF/template/VendaTemplate.xhtml">
<ui:define name="corpo">
<style type="text/css">
	.div-tela 
	{
		max-width: auto;
		max-height: auto;
		padding: 10px 10px 10px;
	    margin: 0 auto 20px;
	    background-color: #fff;
	    border: 1px solid #e5e5e5;
	    -webkit-border-radius: 5px;
	    	-moz-border-radius: 5px;
	        	border-radius: 5px;
	    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.05);
	    	-moz-box-shadow: 0 1px 2px rgba(0,0,0,.05);
	        	box-shadow: 0 1px 2px rgba(0,0,0,.05);
	}
	.colunaEsquerda
	{  
	    text-align: left;
	    width: 20%;  
	}  
	.colunaDireita
	{  
	    text-align: left;
	    width: 80%;    
	}
	.linhaMaster
	{
		background-color: #000080;
		color: #FFFFFF;
	}
	.aberto
	{
		background-color: #FFFFFF;
		color: #000000;
	}
	.atendido
	{
		background-color: #FFA500;
		color: #FFFFFF;
	}      
	</style>
<div class="div-tela">
	<p:poll interval="600"
			stop="#{!vendaManagerBean.vd3}" 
			update="pnlListaAgenda" 
			listener="#{agendaManagerBean.inicializarAgenda}" 
			process="@all"/>
			
	<p:panel id="pnlListaAgenda" 
			header="Gerenciar Agenda do Vendedor: #{usuarioLogado.vendedorVo.nome}">
			
	<p:commandButton id="btnAtualizar" 
					value="Atualizar Lista"
					update="frmVenda:tblAgenda" 
					styleClass="ui-priority-primary"
					actionListener="#{agendaManagerBean.inicializarAgenda}"/>
	<p:commandButton id="btnNovo" 
					value="Nova Agenda" 
					styleClass="ui-priority-primary"
					update=":frmVenda:agendaPanel"
					actionListener="#{agendaManagerBean.novaAgenda}"/>
	<p:commandButton id="btnSair" 
					value="Sair" 
					styleClass="ui-priority-primary"
					action="#{agendaManagerBean.sairAgenda}"/>
		
		<div>
		<BR />
		</div>
	
		
			<p:dataTable id="tblAgenda" 
						var="agenda" 
						value="#{agendaManagerBean.listaAgenda}"
						rowStyleClass="linhaMaster"
						scrollable="true"
						scrollHeight="auto"
						emptyMessage="Sem Dados para Exibição">
						
				<p:column style="width:5%;background-color:#FFFFFF;">
            		<p:rowToggler />
        		</p:column>		
		        
		        <p:column headerText="Dia Agenda" width="15%">
		            <h:outputText value="#{agenda.dataAgenda}" >
		            	<f:convertDateTime pattern="dd/MM/yyyy"/>
		            </h:outputText>
		        </p:column>
		        
		        <p:column headerText="Ações da Agenda" width="80%">
		        	<p:commandButton value="Alterar Agenda" 
		        					update=":frmVenda:agendaPanel"
		        					disabled="#{agenda.flgEncerrada eq 'S' ? true : false}"
		        					actionListener="#{agendaManagerBean.solicitaAlterarAgenda(agenda)}"/>
		        	<p:commandButton value="Reagendar Agenda" 
		        					update=":frmVenda:reagendamentoPanel"
		        					disabled="#{agenda.flgEncerrada eq 'N' ? true : false}"
		        					actionListener="#{agendaManagerBean.carregarAgendaParaReagendamento(agenda)}"/>
		        	<p:commandButton value="Replicar Agenda Para Outro Usuário" 
		        					update=":frmVenda:replicarAgendaPanel"
		        					disabled="#{!vendaManagerBean.vd3}"
		        					actionListener="#{agendaManagerBean.carregarAgendaParaReplicacao(agenda)}"/>
		        </p:column>
		        
		        <p:rowExpansion>
            		<p:dataTable id="tblAgendaCliente" 
						var="agendaCliente" 
						value="#{agenda.listaAgendaClienteVo}"
						emptyMessage="Sem Dados para Exibição">
						
						<p:column width="10%" filterBy="#{agendaCliente.clienteVo.id}" filterMatchMode="contains" filterStyle="width:100%" style="background-color:##{agendaCliente.agendaLembrarVo.corFundo};color:##{agendaCliente.agendaLembrarVo.corFonte};">
				            <h:outputText value="#{agendaCliente.clienteVo.id}" />
		        		</p:column>
						
						<p:column width="35%" filterBy="#{agendaCliente.clienteVo.razao}" filterMatchMode="contains" filterStyle="width:100%" style="background-color:##{agendaCliente.agendaLembrarVo.corFundo};color:##{agendaCliente.agendaLembrarVo.corFonte};">
				            <h:outputText value="#{agendaCliente.clienteVo.razao}" />
		        		</p:column>
		        		
		        		<p:column headerText="Atendido" width="10%" style="background-color:##{agendaCliente.agendaLembrarVo.corFundo};color:##{agendaCliente.agendaLembrarVo.corFonte};">
				            <h:outputText value="#{agendaCliente.agendaStatusVo.descricao}" />
		        		</p:column>
		        		
		        		<p:column headerText="Lembrar" width="30%" style="background-color:##{agendaCliente.agendaLembrarVo.corFundo};color:##{agendaCliente.agendaLembrarVo.corFonte};">
				            <h:outputText value="#{agendaCliente.agendaLembrarVo.descricao}" />
		        		</p:column>
		        		
		        		<p:column width="15%" style="background-color:##{agendaCliente.agendaLembrarVo.corFundo};color:##{agendaCliente.agendaLembrarVo.corFonte};">
							<p:splitButton value="Atendimentos"
				        				update=":frmVenda:atendimentosPanel"
				        				actionListener="#{agendaManagerBean.listarAtendimentos(agendaCliente)}">
									<p:menuitem value="Reagendamentos"
				        					update=":frmVenda:managerReagendamentoPanel"
				        					actionListener="#{agendaManagerBean.listarReagendamentosCliente(agendaCliente)}"/>
									<p:menuitem value="Reagendar"
				        					disabled="#{agenda.flgEncerrada eq 'N' ? true : false}"
				        					update=":frmVenda:reagendamentoManagerPanel"
											actionListener="#{agendaManagerBean.reagendarCliente(agendaCliente)}"/>
							</p:splitButton>
		        		</p:column>
		        		
					</p:dataTable>
        		</p:rowExpansion>
		        
    		</p:dataTable>
		</p:panel>
</div>
</ui:define>
<ui:define name="modal">
	<p:dialog header="Agenda" 
			widgetVar="agendaDialog" 
			modal="true"
			resizable="false" 
			width="1000"
			height="100%" 
			position="top" 
			closable="true">
        <p:panel id="agendaPanel" 
        		style="font-size:12px;width:100%;height:100%;">
			<p:panelGrid columns="2" 
						columnClasses="colunaEsquerda, colunaDireita" 
						style="width:100%;border:none;">
				<p:outputLabel value="Data" for="clnDataMovimento"/>
				<p:calendar id="clnDataMovimento" 
							value="#{agendaManagerBean.setarData}"
							locale="pt"
							validatorMessage="Data em formato inválido."
							pattern="dd/MM/yyyy"
							disabled="#{agendaManagerBean.alteraData}"
							mindate="#{agendaManagerBean.dataCorrente}">
					<p:ajax event="dateSelect" listener="#{agendaManagerBean.verificarAgendaCadastrada}" process="@this"/>
				</p:calendar>
			</p:panelGrid>
			
			<div>
				<BR />
			</div>
			
				<p:pickList id="pclClientesAgenda"
						value="#{agendaManagerBean.listaDuplaClientesAgendaNova}"
						var="cliente"
						itemValue="#{cliente}"
						itemLabel="#{cliente.id}"
						showSourceControls="true"
						showTargetControls="true"
						showCheckbox="true"
						showSourceFilter="true"
						showTargetFilter="true"
						filterMatchMode="startsWith"
						style="width:100%;height:100%;"
						converter="converterPickList">
						
				<f:facet name="sourceCaption">Não Atender</f:facet>
				<f:facet name="targetCaption">Atender</f:facet>
								
				<p:column style="width:10%;height:100%;">
					<h:outputText value="#{cliente.id}"/>
				</p:column>
					
				<p:column style="width:90%;height:100%;">
					<h:outputText value="#{cliente.razao}"/>
				</p:column>
								
			</p:pickList>
			
			<div>
				<BR />
			</div>
		<div style="padding-top:5px;">
			<p:commandButton id="btnGravar" 
							value="Gravar"
							styleClass="ui-priority-primary" 
							update="mensagem, pnlListaAgenda"
							actionListener="#{agendaManagerBean.gravar}"/>
		</div>
        </p:panel>
    </p:dialog>
    <p:dialog header="Regendamento de Clientes" 
    		widgetVar="reagendamentoDialog" 
    		modal="true" 
    		resizable="false" 
    		width="450" 
    		position="top" 
    		closable="true">
    	 <p:panel id="reagendamentoPanel" 
    	 		style="font-size:12px;">
			<p:panelGrid columns="2" 
						columnClasses="colunaEsquerda, colunaDireita" 
						style="width:100%;border:none;">
				
				<p:outputLabel value="Data" for="clnDataReagenadmento"/>
				<p:calendar id="clnDataReagenadmento" 
							value="#{agendaManagerBean.setarDataReagendamento}"
							locale="pt"
							validatorMessage="Data em formato inválido."
							pattern="dd/MM/yyyy"
							mindate="#{agendaManagerBean.dataCorrente}"/>
			</p:panelGrid>
			
				<div>
					<BR />
				</div>
				
				<p:commandButton id="btnGravarReagendamento" 
							value="Gravar"
							styleClass="ui-priority-primary" 
							update=":frmVenda:pnlListaAgenda"
							actionListener="#{agendaManagerBean.gravarReagendamento}"/>
		</p:panel>		
	</p:dialog>
	<p:dialog header="Atendimentos" 
			widgetVar="agendaAtendimenosDialog" 
			modal="true"
			resizable="false" 
			width="1100" 
			position="top" 
			closable="true">
		 <p:panel id="atendimentosPanel" 
    	 		style="font-size:12px;">
    	 	<h:outputText value="Cliente:  #{agendaManagerBean.agendaClienteVo.clienteVo.razao}"/>
    	 	
    	 	<div>
    	 		<BR />
    	 	</div>
    	 		
    	 	<p:dataTable id="tblAtendimento" 
						var="atendimentos" 
						value="#{agendaManagerBean.agendaClienteVo.listaAtendimentos}"
						style="font-size:11px;"
						rowStyleClass="linhas"
						scrollable="true"
						scrollHeight="350"
						emptyMessage="Sem Dados para Exibição">
								
				<p:column headerText="Quem Atendeu" width="20%">
					<h:outputText value="#{atendimentos.agendaClienteVo.agendaVo.usuarioVo.nomeCompleto}" />
				</p:column>
				
				<p:column headerText="H Inicial" width="5%">
					<h:outputText value="#{atendimentos.horaAtendimento}">
						<f:convertDateTime pattern="HH:mm"/>
					</h:outputText>
				</p:column>
				
				<p:column headerText="H Final" width="5%">
					<h:outputText value="#{atendimentos.horaEncerramento}">
						<f:convertDateTime pattern="HH:mm"/>
					</h:outputText>
				</p:column>
				
				<p:column headerText="Tp Atendimento" width="20%">
					<h:outputText value="#{atendimentos.agendaTipoAtendimentoVo.descricao}" />
				</p:column>
				
				<p:column headerText="Tp Contato" width="20%">
					<h:outputText value="#{atendimentos.agendaTipoContatoVo.descricao}" />
				</p:column>
		        		
				<p:column headerText="Desc Atendimento" width="50%">
					<h:outputText value="#{atendimentos.descricaoAtendimento}" />
				</p:column>
		        		
			</p:dataTable>
			
    	 </p:panel>
	</p:dialog>
    <p:dialog header="Replicar Agenda" 
    		widgetVar="replicarAgendaDialog" 
    		modal="true" 
    		resizable="false" 
    		width="400" 
    		position="top" 
    		closable="true">
    	 <p:panel id="replicarAgendaPanel" 
    	 		style="font-size:12px;">
			<p:panelGrid columns="2" 
						columnClasses="colunaEsquerda, colunaDireita" 
						style="width:100%;border:none;">
				
				<p:outputLabel id="lblUsuario" 
							value="Usuário" 
							for="somUsuarioReplicacao"/>
				<p:selectOneMenu id="somUsuarioReplicacao" 
								value="#{agendaManagerBean.agendaReplicacao.usuarioVo.id}"
								style="width:100%;">
					<f:selectItem itemLabel="Selecione Usuário" 
	             				itemValue="0"/>
					<f:selectItems var="usuario" 
								value="#{agendaManagerBean.listaUsuarioReplicacao}" 
								itemLabel="#{usuario.nomeCompleto}"
								itemValue="#{usuario.id}"/>
				</p:selectOneMenu>
			</p:panelGrid>
			
				<div>
					<BR />
				</div>
				
				<p:commandButton id="btnGravarReplicacao" 
							value="Gravar"
							styleClass="ui-priority-primary" 
							update="mensagem"
							actionListener="#{agendaManagerBean.gravarReplicacao}"/>
		</p:panel>		
	</p:dialog>
	<p:dialog header="Regendamentos" 
			widgetVar="managerRegendamentoDialog" 
			modal="true" 
			resizable="false" 
			width="1100" 
			position="top" 
			closable="true">
		 <p:panel id="managerReagendamentoPanel" 
    	 		style="font-size:12px;">
    	 	<h:outputText value="Cliente:  #{agendaManagerBean.agendaClienteVo.clienteVo.razao}"/>
    	 	
    	 	<div>
    	 		<BR />
    	 	</div>
    	 		
    	 	<p:dataTable id="tblReagendamento" 
						var="reagendamentos" 
						value="#{agendaManagerBean.listaReagendamentos}"
						style="font-size:11px;"
						rowStyleClass="linhas"
						scrollable="true"
						scrollHeight="350"
						emptyMessage="Sem Dados para Exibição">
				        		
				<p:column headerText="Usuário Reagendamento" width="40%">
					<h:outputText value="#{reagendamentos.usuarioVo.nomeCompleto}" />
				</p:column>
				
				<p:column headerText="Data Reagendamento" width="20%">
					<h:outputText value="#{reagendamentos.dataReagendamento}">
						<f:convertDateTime pattern="dd/MM/yyyy"/>
					</h:outputText>
				</p:column>
				
				<p:column headerText="Motivo Reagendamento" width="40%">
					<h:outputText value="#{reagendamentos.motivoReagendamento}" />
				</p:column>
		        		
			</p:dataTable>
			
    	 </p:panel>
	</p:dialog>
	<p:dialog header="Regendamento de Cliente" 
    		widgetVar="reagendamentoManagerDialog" 
    		modal="true"
    		resizable="false" 
    		width="650" 
    		position="top" 
    		closable="true">
    	 <p:panel id="reagendamentoManagerPanel" 
    	 		style="font-size:12px;">
			<p:panelGrid columns="2" 
						columnClasses="colunaEsquerda, colunaDireita" 
						style="width:100%;border:none;">
						
				<p:outputLabel value="Cliente" 
							for="txtClienteManagerReagendamento"/>
				<h:outputText id="txtClienteManagerReagendamento" 
							value="#{agendaManagerBean.agendaClienteVo.clienteVo.razao}"/>
							
				<p:outputLabel value="Data" for="clnDataManagerReagenadmento"/>
				<p:calendar id="clnDataManagerReagenadmento" 
							value="#{agendaManagerBean.dataReagendamento}"
							locale="pt"
							validatorMessage="Data em formato inválido."
							pattern="dd/MM/yyyy"
							mindate="#{agendaManagerBean.dataCorrente}"/>
							
				<h:outputLabel for="somAgendaLembrarReagendamento" value="Lembrar"/>			
	            <p:selectOneMenu id="somAgendaLembrarReagendamento" 
	            				value="#{agendaManagerBean.agendaClienteReagendamentoVo.agendaLembrarVo.id}" 
	             				style="width:100%;">
	             	<f:selectItems var="lembrarReagendamento" 
	             				value="#{agendaManagerBean.listaLembrarReagendamento}" 
	             				itemLabel="#{lembrarReagendamento.descricao}" 
	             				itemValue="#{lembrarReagendamento.id}"/>
	             </p:selectOneMenu>
							
				<p:outputLabel value="Motivo" 
							for="txtMotivoManagerReagendamento"/>
            	<p:inputText id="txtMotivoManagerReagendamento" 
            				value="#{agendaManagerBean.agendaClienteReagendamentoVo.motivoReagendamento}"
            				style="width:100%;"/>
			</p:panelGrid>
			
				<div>
					<BR />
				</div>
				
				<p:commandButton id="btnGravarManagerReagendamento" 
							value="Gravar"
							styleClass="ui-priority-primary" 
							update=":frmVenda:pnlListaAgenda"
							actionListener="#{agendaManagerBean.gravarReagendamentoCliente}"/>
		</p:panel>		
	</p:dialog>		
</ui:define>

</ui:composition>
</html>